package com.yfqy.admin.domain.mapper;

import com.yfqy.admin.domain.dto.system.SysUserDetail;
import com.yfqy.admin.domain.entity.SysUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysUserMapper {
    int deleteByPrimaryKey(Long id);

    int insert(SysUser record);

    int insertSelective(SysUser record);

    SysUser selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SysUser record);

    int updateByPrimaryKey(SysUser record);

    SysUser selectOneByEmail(@Param("email") String email);

    SysUser selectOneByUsername(@Param("username") String username);

    List<SysUser> selectByIds(@Param("allUserIds") List<Long> allSysUserIds);

    List<SysUserDetail> selectUserPageByKeywordAndStatus(@Param("email") String email,
                                                         @Param("username") String username, @Param("status") Byte status);
}